package com.katze.boot.applet.ssh.entity;

import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;

import java.io.Serial;
import java.io.Serializable;
import java.util.Date;

/**
 * 说  明：
 * 作  者：admin
 * 日  期：2023-08-16
 */
@Data
@TableName("ssh_process")
public class SshProcessEntity implements Serializable {
    @Serial
    private static final long serialVersionUID = 1L;

    @TableId(type = IdType.ASSIGN_UUID)
    private String id;

    /**
     * 连接ID
     */
    private String sessionId;

    /**
     * 应用名称
     */
    private String title;

    /**
     * 进程标识
     */
    private String name;

    /**
     * 可执行文件位置
     */
    private String position;

    /**
     * 启动命令
     */
    private String startup;

    /**
     * 关闭命令
     */
    private String shutdown;

    /**
     * 访问方式
     */
    @TableField(exist = false)
    private String mode;

    /**
     * 访问地址
     */
    @Deprecated private String uriId;

    @Deprecated private transient String uri;

    /**
     * 创建时间
     */
    @TableField(fill = FieldFill.INSERT)
    private Date createTime;

    /**
     * 进程PID,暂用于实际进程PID的展示
     * @同时也表示状态，有值时代表进程已存在，如果有多个值则代表进程标识配置不够完整
     */
    private String pid;

    @Override
    public String toString() {
        return "SSHProcessEntity{" +
                "id='" + id + '\'' +
                ", sessionId='" + sessionId + '\'' +
                ", title='" + title + '\'' +
                ", name='" + name + '\'' +
                ", params='" + name + '\'' +
                ", position='" + position + '\'' +
                ", startup='" + startup + '\'' +
                ", shutdown='" + shutdown + '\'' +
                ", mode='" + mode + '\'' +
                ", uriId='" + uriId + '\'' +
                ", createTime=" + createTime +
                '}';
    }
}
